/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86184
 * Date: 2023-02-09
 * Time: 11:01
 */

public class Static {
    public String name;
    public int age;
    public int id;
    public static String classes="软工二班";

    //构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)
    //无参的构造方法
    public Static(){
        //通过this引用其他构造方法
        this("zhou");//必须是构造方法中第一条语且不能形成循环
        System.out.println("无参的构造方法");
    }
    //一个参数的构造方法
    public Static(String name){
        this("zhou",18);
        this.name=name;
        System.out.println("一个参数的构造方法");
    }
    //两个参数的构造方法
    public Static(String name,int age){
        this.name=name;
        this.age=age;
        System.out.println("两个参数的构造方法");
    }
    //三个参数的构造方法
    public Static(String name,int age,int id){
        this.name=name;
        this.age=age;
        this.id=id;
        System.out.println("三个参数的构造方法");
    }
    public void print(){
        System.out.println("姓名: "+name+" 年龄: "+age+" 学号: "+id+"-->"+classes);
    }

    public static void main(String[] args) {
        //如果用户没有显式定义，编译器会生成一份默认的构造方法，生成的默认构造方法一定是无参的（以上定义了就不会在定义）
        Static student1=new Static();//无参
        Static student2=new Static("zhou");//一个参数
        Static student3=new Static("zhou",18);//两个参数
        Static student4=new Static("zhou",18,221549250);//三个参数

        Static student5=new Static();//通过this构造方法进行构造

        student5.print();
    }
}
